home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 24
/
Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso
/
Aminet
/
comm
/
misc
/
BMSystem.lha
/
BM.c
< prev
next >
Wrap
C/C++ Source or Header
|
1997-12-13
|
3KB
|
129 lines
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
void escribe_inicio(FILE *pf,char *cabecera1,char *cabecerahttp,char *cabeceraftp,char *cadena,short int *ftp);
void escribe_cadena(FILE *pf,char *cadena,short int *ftp);
void escribe_fin(FILE *pf,char *final,char *vacia);
char *lee_cadena(void);
void main(int argc,char *argv[])
{
short int ftp=0;
int mal=0;
char vacia[]="";
char *cadena;
char aviso1[]="\nBookmark Maker by FrEdY !";
char aviso2[]="\nUsage:BM <filename>. BM -h for help";
char cabecera1[]="<LI><a href=";
char cabecerahttp[]="http://";
char cabeceraftp[]="ftp://";
char final[]="</a>\n";
FILE *pf;
puts(aviso1);
puts(aviso2);
if(argc>2)
{
mal=1;
}
if(strcmp(argv[1],"-h")==0)
{
printf("\nThis program creates a simple HTML text to use as bookmark.");
printf("\nThe format of the text lines is:");
printf("\n<LI><a href=");
putc('"',stdout);
printf("http:// or ftp://address");
putc('"',stdout);
printf("> Name </a>");
printf("\nIf the address is ftp:// instead http:// put a - as first address letter.");
printf("\nThe file will be saved as 'Bookmark.HTML' by default.");
printf("\nTo finish, press RETURN at the 'Enter Address' prompt.\n");
mal=1;
}
if(mal!=1)
{
if(argc==1)
{
pf=fopen("Bookmark.HTML","a+");
}
else
{
pf=fopen(argv[1],"a+");
}
cadena=lee_cadena();
while((strcmp(vacia,cadena)!=0) && mal==0)
{
ftp=0;
fflush(stdin);
escribe_inicio(pf,cabecera1,cabecerahttp,cabeceraftp,cadena,&ftp);
escribe_cadena(pf,cadena,&ftp);
escribe_fin(pf,final,vacia);
cadena=lee_cadena();
}
fclose(pf);
}
}
char *lee_cadena(void)
{
char *p=NULL;
char aux[100];
printf("\nEnter Address:");
gets(aux);
p=(char *) malloc((strlen(aux)+1)*sizeof(char));
strcpy(p,aux);
return(p);
}
void escribe_inicio(FILE *pf,char *cabecera1,char *cabecerahttp,char *cabeceraftp,char *cadena,short int *ftp)
{
fputs(cabecera1,pf);
fputc('"' ,pf);
if(cadena[0]=='-')
{
fputs(cabeceraftp,pf);
*ftp=1;
}
else
{
fputs(cabecerahttp,pf);
}
}
void escribe_cadena(FILE *pf,char *cadena,short int *ftp)
{
int i=1;
if(*ftp==0)
{
fputs(cadena,pf);
}
else
{
while(cadena[i]!='\0')
{
fputc(cadena[i],pf);
i++;
}
}
fputc('"',pf);
}
void escribe_fin(FILE *pf,char *final,char *vacia)
{
char nombre[80];
fputc('>',pf);
fputc(' ',pf);
printf("Enter Name for the Address:");
gets(nombre);
fflush(stdin);
if(strcmp(nombre,vacia)==0)
{
fputc('*',pf);
}
else
{
fputs(nombre,pf);
}
fputs(final,pf);
}